In positioning systems based on satellite positioning, a positioning receiver attempts to receive signals of at least four satellites in order to detect the position of the positioning receiver and the time data. An example of such a satellite positioning system is the GPS system (Global Positioning System) comprising a plurality of satellites orbiting the globe according to predefined orbits. These satellites transmit positioning data, on based of which the position of a satellite can be defined at each moment of time, in case the exact time data used in the satellite positioning system is known in the positioning receiver. In the GPS system, the satellites transmit a spread spectrum signal which is modulated with a code that is individual for each satellite. Thus, the positioning receiver can distinguish signals transmitted by different satellites from each other by using a reference code corresponding to the satellite code generated locally in the positioning receiver.
A drawback with such positioning systems based on satellite positioning is often the fact that a signal transmitted by a satellite is strongly attenuated when arriving to the positioning receiver, wherein it is very difficult to distinguish the signal from the background noise. The signal can be attenuated inter alia due to climatic conditions and obstacles, such as buildings and surrounding grounds in the routing of the signal. Also, the signal can wander to the positioning receiver through a plurality of different routes which causes so-called multipath propagation and aggravates the synchronizing of the positioning receiver to a wished signal because the transmitted signal arrives to the receiver through different routings, for example straight from the satellite (line-of-sight) and, in addition to this; reflected. Due to this multipath propagation the same signal is received as a plurality of signals with different phases. It is particularly difficult to perform positioning inside a building, because a building itself strongly attenuates the signal transmitted by satellites and, on the other hand, multipath propagation can be even stronger since possibly reflected signals coming for example through a window are not necessarily as attenuated as signals coming straight through the roof. In this case, the receiver can make erroneous interpretations about the time of flight and the positioning of the satellite during the moment of transmission, inter alia due to said increase in the signal time-of-flight caused by multipath propagation
Each operating satellite of the GPS system transmits a so-called L1 signal in the carrier frequency of 1575.42 MHz. This frequency is also indicated with 154f0, where f0=10.23 MHz. Furthermore, the satellites transmit another ranging signal at a carrier frequency of 1227.6 MHz called L2, i.e. 120f0. In the satellite, these signals are modulated with at least one pseudo random sequence. This pseudo random sequence is different for each satellite. As a result of the modulation, a code-modulated wideband signal is produced. The modulation technique used makes it possible to distinguish in the receiver the signals transmitted by different satellites, even though the carrier frequencies used in the transmission are substantially the same. This modulation technique is called code division multiple access (CDMA). In each satellite, for modulating the L1 signal, the pseudo sequence used is e.g. a so-called C/A code (Coarse/Acquisition code), which is a code from the family of the Gold codes. Each GPS satellite transmits a signal by using an individual C/A code. The codes are formed as a modulo-2 sum of two 1023-bit binary sequences. The first binary sequence G1 is formed with a polynome X10+X3+1, and the second binary sequence G2 is formed by delaying the polynome X10+X9+X8+X6+X3+X2+1 in such a way that the delay is different for each satellite. This arrangement makes it possible to produce different C/A codes by an identical code generator. The C/A codes are thus binary codes of which chipping rate in the GPS system is 1.023 MHz. The C/A code comprises 1023 chips, wherein the iteration time (epoch) of the code is 1 ms. The carrier wave of the L1 signal is further modulated by navigation information at a bit rate of 50 bit/s. The navigation information comprises information about the “health”, orbit, time data of the satellite, etc.
During their operation, the satellites monitor the condition of their equipment. The satellites may use for example so-called watchdog operations to detect and report possible faults in the equipment. The errors and malfunctions can be instantaneous or longer lasting. On the basis of the health data, some of the faults can possibly be compensated for, or the information transmitted by a malfunctioning satellite can be totally disregarded. Furthermore, in a situation in which the signal of more than four satellites can be received, the information received from different satellites can be weighted differently on the basis of the health data. Thus, it is possible to minimize the effect of errors on measurements, possibly caused by satellites which seem unreliable.
To detect the signals of the satellites and to identify the satellites, the receiver must perform acquisition, whereby the receiver searches for the signal of each satellite at the time and attempts to be synchronized and locked to this signal so that the data transmitted with the signal can be received and demodulated.
The positioning receiver must perform the acquisition e.g. when the receiver is turned on and also in a situation in which the receiver has not been capable of receiving the signal of any satellite for a long time. Such a situation can easily occur e.g. in portable devices, because the device is moving and the antenna of the device is not always in an optimal position in relation to the satellites, which impairs the strength of the signal coming in the receiver.
The positioning arrangement has two primary functions:
1. to calculate the pseudorange between the receiver and the different GPS satellites, and
2. to determine the position of the receiver by utilizing the calculated pseudoranges and the position data of the satellites. The current position data of the satellites can be calculated on the basis of the Ephemeris and time correaction data received from the satellites.
Distances to the satellites are called pseudoranges, because the time is not accurately known in the receiver. Thus, the determinations of position and time are repeated until a sufficient accuracy is achieved with respect to time and position. Because the time is not known with absolute precision, the position and the time must be determined e.g. by linearizing a set of equations for each new iteration.
A pseudorange can be calculated by measuring the pseudo transmission time delays between signals of different satellites.
Almost all known GPS receivers utilize correlation methods for acquisition to the code as well as for tracking. In a positioning receiver, reference codes ref(k), i.e. the pseudo random sequences for different satellites are stored or generated locally. A received signal is subjected to conversion to an intermediate frequency (down conversion), whereafter the receiver multiplies the received signal with the stored pseudo random sequence. The signal obtained as a result of the multiplication is integrated or low-pass filtered, wherein the result obtained is data about whether the received signal contained a signal transmitted by a satellite. The multiplication is iterated in the receiver so that the phase of the pseudo random sequence stored in the receiver is shifted each time. The correct phase is inferred from the correlation result for example so that when the correlation result is at its peak, the correct phase has been detected. Thus, the receiver is correctly synchronized with the received signal. After the code acquisition has been completed, the next steps are frequency tuning and phase locking.
The above-mentioned acquisition and frequency control process must be performed for each signal of a satellite received in the receiver. Some receivers may include several receiving channels, wherein an attempt is made on each receiving channel to be synchronized with the signal of one satellite at a time and to detect the information transmitted by this satellite.
The positioning receiver receives information transmitted by satellites and performs positioning on the basis of the received information. For the positioning, the receiver must receive a signal transmitted by at least four different satellites to find out the x, y, z coordinates and the time data. The received navigation information is stored in a memory, wherein this stored information can be used to find out e.g. the positioning data of satellites.
FIG. 1 shows, in a principle chart, positioning, by means of a signal transmitted from four satellites SV1, SV2, SV3, SV4 in a wireless communication device MS comprising a positioning receiver. In the GPS system, the satellites transmit positioning data as well as time data, on the basis of which the positioning receiver can perform calculations to determine the current position of the satellite. These positioning data and time data are transmitted in frames which are further divided into subframes. In the GPS system, each frame comprises 1500 bits, which are divided into five subframes of 300 bits each. Since the transmission of one bit takes 20 ms, the transmission of each subframe thus takes 6 s, and the whole frame is transmitted in 30 seconds. The subframes are numbered from 1 to 5. In each subframe 1, e.g. time data is transmitted, indicating the moment of transmission of the subframe as well as information about the deviation of the satellite clock with respect to the time in the GPS system.
The subframes 2 and 3 are used for the transmission of positioning data. The subframe 4 contains other system information, such as universal time, coordinated (UTC). The subframe 5 is intended for the transmission of almanac data of all the satellites. The entity of these subframes and frames is called a GPS navigation message which comprises 25 frames, i.e. 125 subframes. The length of the navigation message is thus 12 min 30 s.
In the GPS system, time is measured in seconds from the beginning of a week. In the GPS system, the starting time of a week is the midnight between a Saturday and a Sunday. Each subframe to be transmitted contains information on the moment of the GPS week when the subframe in question was transmitted. Thus, the time data indicates the time of transmission of a certain bit, i.e. in the GPS system, the time of transmission of the last bit in the subframe in question. In the satellites, time is measured with high-precision atomic chronometers. In spite of this, the operation of each satellite is controlled in a control centre for the GPS system (not shown), and e.g. a time comparison is performed to detect chronometric errors in the satellites and to transmit this information to the satellite.
In the precision of positioning it is of great importance how precisely the actual GPS time is known by the receiver. In practice, the precise GPS time can be determined after positioning calculation, in which the chronometric error of the receiver is determined relative to the GPS time. However, in the very first positioning calculation an estimation of the GPS time can be used, because the actual GPS time is not necessarily known in the receiver. The estimated GPS time at a moment of time k can be derived on the basis of measurement of three time elements according to the following formula:TGPSj(k)=TTOW(k)+Tmsj(k)+Tchipj(k)+0.078  (1)in whichTTOWj=the time data (time of week) in seconds contained in the last received subframe,Tmsj(k)=the time in seconds corresponding to the number of C/A epochs received after the beginning of the last received subframe,Tchipj(k)=the time in seconds corresponding to the number (from 0 to 1022) and code phase of whole chips received after the change of the last epoch, andj=the receiving channel index.
In Formula 1, the average time of flight (ToF) of the signal from the satellite to the receiver is 78 ms. As a reference it is possible to use any such receiving channel in which the signal-to-noise ratio (SNR) is sufficient.
The time data (ToW) is transmitted in the navigation message at intervals of six seconds and it indicates the time passed from the last change of the GPS week. Thus, the value range of the time data is the remainder of one week. In a corresponding manner Tmsj(k) equals the remainder of six seconds and Tchipj(k) equals the remainder of 1 ms. The first three terms of the Formula (1) can also be used in the measurement of the time of arrival (ToA) of the signal.
In poor receiving conditions in which the navigation data cannot be indicated inter alia due to a high bit error rate (BER), it is not possible, due to the missing time data ToW, to determine the GPS time directly by means of the Formula 1. However, the code phase can normally still be measured.
The first three terms in the Formula 1 determine the time of transmission {circumflex over (T)}ToTk of the received signal.